automaticke nastaveni property

Otázka od: Viktor Doubek

15. 6. 2004 14:25

Hello world,
mam nasledujici problem:
Obcas zapomenu v aplikaci otevrene datasety a hlavne SQLConnection. Nevim
jestli to tak je i v klasicke VCL, ale v me CLX aplikaci se u zakaznika pak
stane to, ze pri v create hlavniho DataModulu to padne bez varovani kompletne
na usta do takoveho toho MSDialogu Odeslat hlaseni o chybe->MS (zakaznik ma
jinde DB a hlavne tam nema toho uzivatele, na ktereho to testuju ja).
Takze se ptam:
* je nejaka moznost zasahnout do vytvareneho DM jeste pred onCreate (TForm ma
OnLoad, ovsem TDataModule nikoli)?
* pokud ne, nevite nahodou o nejakem prepinaci/pluginu v prostredi D7, ktery by
vybrane property pred kompilaci nastavoval na danou hodnotu?
* pokud ne, nevite o nejake radkove search&replace utilitce, ktera by se
pustila pred davkovou kompilaci a kriticka mista v .?fm opravila?
* pripadne o nejakem jinem reseni, nez je myslet na to a pred kazdou release
kompilaci to rucne shodit?
Diky moc za kazdy namet. VD.
D7pro,CLX,FB1.5,WXPHome




Odpovedá: delphin@post.cz

15. 6. 2004 14:41

Problem jde castecne obejit tak, ze v udalosti Connection.BeforeConnect se
nastavi ty spravne pripojovaci parametry pro Connection.


Odpovedá: Viktor Doubek

16. 6. 2004 14:26

> Problem jde castecne obejit tak, ze v udalosti Connection.BeforeConnect se
> nastavi ty spravne pripojovaci parametry pro Connection.
Diky, ale to jsem nemohl pouzit, jelikoz v te chvili ty parametry jeste nevim.
Nakonec jsem to vyresil tak, ze jsem DataModul v designtime pretypoval na
(invisible) TForm, abych mohl pouzit OnLoad (neni to idealni, ale co s tim,
kdyz je VCL takhle postavena) a v nem jsem pouzil toto:

type
  TMySQLConnection = class( TSQLConnection)
  public
    //zverejneni metody predka TCustomConnection
    property StreamedConnected;
  end;

procedure TDMMain.FormLoaded(Sender: TObject);
begin
  TMySQLConnection(SQLConnMain).StreamedConnected := false;
end;

Treba se to nekomu bude hodit. VD